<?php
namespace app\command;

use app\admin\model\course\Order;
use extendwechat\Message;
use think\Cache;
use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\Db;
class Task extends Command
{
    //crontab -l //计划任务列表
    //crontab -e //编辑新增
    //centos crond 重启命令
    //systemctl restart crond
    //linux服务器设置定时任务 */1 * * * *  cd /项目的根路径 &&  php think task >> /dev/null 2>&1

    protected function configure()
    {
        $this->setName('task')
            ->setDescription('计划任务');
    }

    protected function execute(Input $input, Output $output)
    {
        $output->writeln("开始执行定时任务");
        //每分钟执行的方法

        $wechatMessage = new Message();
        $wechatMessage->sendStudyMessage();
        //每10分钟执行的方法
        if($this->runByModulus(10)){


        }

        //每半小时执行的方法
        if($this->runByMinute(1)){
            //自动取消订单
            $orderModel = new Order();
            $orderModel->timingCancelOrder();

        }
        //每小时执行的方法

        //每天执行的方法

    }

    /*
        * 根据分钟执行$dateI不能未0
        * */
    public function runByModulus($dateI){
        if($dateI>0){
            $i = date("i");
            if($dateI == 30 && $i == 0){
                return  true;
            }

            if ($i % $dateI == 0){
                return true;
            }
        }

        return  false;
    }
    /*
     * 根据分钟执行
     * */
    public function runByMinute($minute){
        $i = date("i");
        if ($i % $minute == 0){
            return true;
        }
        return  false;
    }

    /*
     * 根据时间执行
     * */
    public function runByTime($time){
        $date = date("H:i");
        if($time == $date){
            return true;
        }
        return false;
    }



}